package com.food.platformmanagement.port.inbound;

import com.food.platformmanagement.adapter.inbound.UserDTO;
import com.food.platformmanagement.domain.User;

import java.util.List;

/**
 * 对平台所有用户的管理
 * @author 24270
 */
public interface MemberUseCase {
    /**
     * 添加用户
     * @param name
     * @param password
     * @return String
     */
    String addPlatformUser(String name, String password);

    /**
     * 删除用户
     * @param id
     * @return boolean
     */
    boolean deletePlatformUser(String id);

    /**
     * 得到所有用户
     * @return List
     */
    List<UserDTO> getAllPlatformUser();

    /**
     * 查询指定用户
     * @param id
     * @return User
     */
    UserDTO getThePlatformUser(String id);

    /**
     * 修改用户信息
     * @return
     */
    boolean changeUserName(String id, String name);
    boolean changeUserPassword(String id, String password);


    /**
     * 添加审核员
     * @param name
     * @param password
     * @return String
     */
    String addAuditor(String name, String password);

    /**
     * 删除审核员
     * @param id
     * @return boolean
     */
    boolean deleteAuditor(String id);

    /**
     * 查询所有审核员
     * @return List
     */
    List<User> getAllAuditor();

    /**
     * 查询指定审核员
     * @param id
     * @return User
     */
    User getTheAuditor(String id);
}
